当前位置:flash课件吧→教育→教育教学栏目

视频网校,仅需要一个耳机即可完成所有教学任务。

题 目:制作直线方程flash课件教程

直线方程
今天放假了,没什么X事,记起闪友问过一个直线方程的问题:“输入两点画直线”。因此粗粗做了一个。

/*

 

*/
Flash课件吧(湖北金鹰),永久网址:http://www.luotao2008.cn,省级和国家级获奖课件制作专业网站,教师朋友获取利益最大的网站。另省级FLASH课件制作网络培训班,专用培训QQ群号:67042004,也可以登录网站的《远程网校》查询培训详情。包教包会,不会无条件退款,惊喜从这里开始!欢迎体验。网站管理QQ:444860709

import flash.filters.DropShadowFilter;//滤镜,增加点效果

var d_filters:DropShadowFilter = new DropShadowFilter(3, 45, 0x000000, 60, 5, 5);

showAll(Number(x1.text), Number(y1.text), Number(x2.text), Number(y2.text));//显示点与直线

fuanzhang.gotoAndStop(2);//右边两个按钮

showInputTxt.gotoAndStop(2);

_btn.onPress = function() {//输入两点坐标时提交按钮

if (x1.text != "" && y1.text != "" && x2.text != "" && y2.text != "") {

showAll(Number(x1.text), Number(y1.text), Number(x2.text), Number(y2.text));

} else {

//请输入完整!

}

};

var drag:Boolean = false;

for (var i:Number = 1; i<3; i++) {

this["p"+i].onPress = function() {//两个小红点拖动与否

startDrag(this);

drag = true;

};

this["p"+i].onRelease = this["p"+i].onReleaseOutside=function () {

stopDrag();

drag = false;

};

}

onEnterFrame = function () {

if (drag) {//拖动两点时绘制作直线与相关的提示图形

var x1:Number = Math.floor(p1._x*100)/100, y1:Number = -Math.floor(p1._y*100)/100, x2:Number = Math.floor(p2._x*100)/100, y2:Number = -Math.floor(p2._y*100)/100;

showAll(x1, y1, x2, y2);

}

};

//绘图主函数

function showAll(_x1:Number, _y1:Number, _x2:Number, _y2:Number) {

var xx1:Number = _x1;

var yy1:Number = -_y1;

var xx2:Number = _x2;

var yy2:Number = -_y2;

var xNum:Number = xx1-xx2;

var yNum:Number = yy1-yy2;

var s:Number = Math.atan2(yNum, xNum);

line._x = p1._x=xx1;

line._y = p1._y=yy1;

p2._x = xx2;

p2._y = yy2;

x1.text = xx1;

y1.text = -yy1;

x2.text = xx2;

y2.text = -yy2;

if (xx1 != xx2 && yy1 != yy2) {

var k1:Number = -Math.round(yNum/xNum*100)/100;

var b1:Number = -Math.round(yy1-yNum/xNum*xx1);

if (b1>0) {

if (k1 == 0) {//显示直线方程式子

var str1:String = "y="+String(b1);

fanzhang_mc._txt.text = str1;

} else {

var str1:String = "y="+String(k1)+"x+"+String(b1);

fanzhang_mc._txt.text = str1;

}

} else if (b1 == 0) {

if (k1 == 0) {

var str1:String = "y="+String(b1);

fanzhang_mc._txt.text = str1;

} else {

var str1:String = "y="+String(k1)+"x";

fanzhang_mc._txt.text = str1;

}

} else {

if (k1 == 0) {

var str1:String = "y="+String(b1);

fanzhang_mc._txt.text = str1;

} else {

var str1:String = "y="+String(k1)+"x"+String(b1);

fanzhang_mc._txt.text = str1;

}

}

} else if (xx1 == xx2 && xx1 != 0) {

fanzhang_mc._txt.text = "x="+String(xx1);

} else if (yy1 == yy2 && yy1 != 0) {

fanzhang_mc._txt.text = "y="+String(yy1);

} else if (xx1 == 0 && xx2 == 0) {

fanzhang_mc._txt.text = "x=0";

} else if (yy1 == 0 && yy2 == 0) {

fanzhang_mc._txt.text = "y=0";

}

fanzhang_mc._txt.autoSize = "center";

fanzhang_mc.txtBg_mc._width = fanzhang_mc._txt._width+20;

line._rotation = s*180/Math.PI;

drawRectView(xx1, yy1, 0);//画提示图形

drawRectView(xx2, yy2, 1);

}

//........画提示图形........................................................

function drawRectView(x:Number, y:Number, i:Number) {

this["view"+i].removeMovieClip();

var color:Number;

if (i == 0) {

color = 0x0F84F9;

} else {

color = 0x66EE2B;

}

this.createEmptyMovieClip("view"+i, this.getNextHighestDepth());

with (this["view"+i]) {

lineStyle(1, 0xE27125, 100);

beginFill(color, 60);

moveTo(0, 0);

lineTo(x, 0);

lineTo(x, y);

lineTo(0, y);

lineTo(0, 0);

endFill();

}

//-----------显示两红点坐标文本........................

this["t"+i].removeTextField();

this.createTextField("t"+i, this.getNextHighestDepth(), x-30, y-23, 100, 23);

var y0:Number = -y;

this["t"+i].text = "("+x+","+y0+")";

this["t"+i].autoSize = "left";

}

var input:Boolean = true, fz:Boolean = false;

mask_mc._visible = false;

showInputTxt.onPress = function() {

this.play();//输入文本框显示与否

if (!input) {

_btn.enabled = true;

mask_mc._visible = false;

} else {

_btn.enabled = false;

mask_mc._visible = true;

}

input = !input;

};

close_btn.onPress = function() {//关闭输入文本框

mask_mc._visible = true;

input = false;

showInputTxt.gotoAndStop(1);

};

fanzhang_mc.filters = [d_filters];

fuanzhang.onPress = function() {//方程显示与否

this.play();

if (fz) {

fanzhang_mc._visible = true;

} else {
fanzhang_mc._visible = false;

}

fz = !fz;

};

 

 

 

 

 

省级FLASH课件制作培训请加我站管理QQ444860709 培训QQ专业群67042004。